package com.mega32k.mevila.util;

import com.mega32k.mevila.item.TestItem;
import com.mega32k.mevila.item.metal.MevilaMetal;
import com.mega32k.mevila.item.other.MevilaBowItem;
import com.mega32k.mevila.item.other.MevilaDust;
import com.mega32k.mevila.item.other.MevilaShieldItem;
import com.mega32k.mevila.item.sword.MevilaSwordItem;
import com.mega32k.mevila.item.tool.MevilaAxeItem;
import com.mega32k.mevila.item.tool.MevilaHoeItem;
import com.mega32k.mevila.item.tool.MevilaPickaxeItem;
import com.mega32k.mevila.item.tool.MevilaShovelItem;
import com.mega32k.mevila.tab.MevilaBlockTab;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.EntityClassification;
import net.minecraft.entity.EntityType;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Rarity;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;

public class ItemInit {
    public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, "mevila");
    public static final Rarity RMEVILA = Rarity.create("MEVILA", TextFormatting.BLUE);

    public static final RegistryObject<TestItem> TEST_ITEM_REGISTRY_OBJECT = ITEMS
            .register("az", TestItem::new);

    public static final RegistryObject<MevilaDust> MEVILA_DUST_REGISTRY_OBJECT = ITEMS
            .register("mevila_dust", MevilaDust::new);
    public static final RegistryObject<MevilaMetal> MEVILA_METAL_REGISTRY_OBJECT = ITEMS
            .register("mevila_metal", MevilaMetal::new);
    public static final RegistryObject<MevilaSwordItem> MEVILA_SWORD_ITEM_REGISTRY_OBJECT = ITEMS
            .register("mevila_sword", MevilaSwordItem::new);
    public static final RegistryObject<MevilaAxeItem> MEVILA_AXE_ITEM_REGISTRY_OBJECT = ITEMS
            .register("mevila_axe", MevilaAxeItem::new);
    public static final RegistryObject<MevilaHoeItem> MEVILA_HOE_ITEM_REGISTRY_OBJECT = ITEMS
            .register("mevila_hoe", MevilaHoeItem::new);
    public static final RegistryObject<MevilaPickaxeItem> MEVILA_PICKAXE_ITEM_REGISTRY_OBJECT = ITEMS
            .register("mevila_pickaxe", MevilaPickaxeItem::new);
    public static final RegistryObject<MevilaShovelItem> MEVILA_SHOVEL_ITEM_REGISTRY_OBJECT = ITEMS
            .register("mevila_shovel", MevilaShovelItem::new);
    public static final RegistryObject<MevilaBowItem> MEVILA_BOW_ITEM_REGISTRY_OBJECT = ITEMS
            .register("mevila_bow", MevilaBowItem::new);
    public static final RegistryObject<MevilaShieldItem> MEVILA_SHIELD_ITEM_REGISTRY_OBJECT = ITEMS
            .register("mevila_shield", MevilaShieldItem::new);




    public static final RegistryObject<Item> MEVILA_DUST_ORE_ITEM = ITEMS
            .register("mevila_dust_ore_block",
                    () -> new BlockItem(BlockInit.MEVILA_DUST_ORE_BLOCK.get(), new Item.Properties()
                            .group(MevilaBlockTab.mevilaBlockTab)) {
                            @Override
                            public ITextComponent getDisplayName(ItemStack p_200295_1_) {
                                return new StringTextComponent(I18n.format("block.mevila.mevilaDustOre"));
                            }
                    }
            );

    public static final RegistryObject<Item> ALLOY_INLAY_BLOCK_ITEM = ITEMS
            .register("alloy_inlay_station_block",
                    () -> new BlockItem(BlockInit.ALLOY_INLAY_BLOCK.get(), new Item.Properties()
                            .group(MevilaBlockTab.mevilaBlockTab)) {
                        @Override
                        public ITextComponent getDisplayName(ItemStack p_200295_1_) {
                            return new StringTextComponent(I18n.format("block.mevila.mevilaDustOre"));
                        }
                    }
            );

}
